When high performance storage traffic is mixed with network traffic, there could be oversubscription at the Top-of-Rack (ToR) switch resulting in storage traffic being dropped. As a result, the minimum QoS (Quality of Service) guarantees for storage traffic may not be met.
FIG. 1 (Prior Art) illustrates a distributed system 100 with multiple nodes and a top of rack (ToR) switch for switching converged storage traffic and network traffic. Distributed system 100 comprises a first node 110, a second node 120, and a ToR switch 130. Node 1 comprises a converged IO controller, which shapes the storage link 111 and the network link 112 to 5G each. Similarly, Node 2 also comprises a converged IO controller, which shapes the storage link 121 and the network link 122 to 5G each. However, network link 113 from Node 1 also comes into the ToR switch at 10G. When the network traffic (10G) from link 113 is mixed with storage traffic from link 111 (5G) at the ToR switch, storage traffic could be dropped due to oversubscription.
There are different solutions to solve the oversubscription problem. In a first solution, the ToR switch can be configured to carry storage and network traffic in different classes and allocate bandwidth for each class on the ToR. Problem with this solution is that we need to have the network admin go through complex switch configuration across different types of ToR switches. Further we need to rely DCBX (Data Center Ethernet Bridging) and PFC (Per Priority Flow Control) to make this work (similar to how FCoE (Fibre Channel over Ethernet) addresses this problem). In a second non-converged solution, network and storage traffic are carried on separate links (2×10G each for network and storage). This approach works in that there is no interference caused to storage traffic by network traffic in the ToR switch (as the MACS are learnt on separate links). Problem with this approach is that it implements a non-flexible hard partitioning, so half the bandwidth will be wasted if there is no remote storage traffic to or from a node.
It is thus desirable to have a flexible converged scheduler taking into account the various QoS classes of network and storage traffic before mixing them on the same link.